n, m = list(map(int,input().split()))
inp = sorted(list(map(int,input().split())))
list1 = []
for i in range(m-(n-1)):
list1.append(abs((inp[i])-(inp[i+n-1])))
print(min(list1))
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n,min=0;
cin>>n>>m;
int a[m];
for(int i=0;i<m;i++)
{
cin>>a[i];
}
sort(a,a+m);
min=a[n-1]-a[0];
for(int i=1;i<=m-n;i++)
{
if(a[i+n-1]-a[i]<min)
min=a[i+n-1]-a[i];
}
cout<<min;
return 0;
}
1271A - Suits | 259B - Little Elephant and Magic Square |
1389A - LCM Problem | 778A - String Game |
1382A - Common Subsequence | 1512D - Corrupted Array |
667B - Coat of Anticubism | 284B - Cows and Poker Game |
1666D - Deletive Editing | 1433D - Districts Connection |
2B - The least round way | 1324A - Yet Another Tetris Problem |
246B - Increase and Decrease | 22E - Scheme |
1566A - Median Maximization | 1278A - Shuffle Hashing |
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |